{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取客户流失数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>state</th>\n",
       "      <th>account_length</th>\n",
       "      <th>area_code</th>\n",
       "      <th>international_plan</th>\n",
       "      <th>voice_mail_plan</th>\n",
       "      <th>number_vmail_messages</th>\n",
       "      <th>total_day_minutes</th>\n",
       "      <th>total_day_calls</th>\n",
       "      <th>total_day_charge</th>\n",
       "      <th>total_eve_minutes</th>\n",
       "      <th>total_eve_calls</th>\n",
       "      <th>total_eve_charge</th>\n",
       "      <th>total_night_minutes</th>\n",
       "      <th>total_night_calls</th>\n",
       "      <th>total_night_charge</th>\n",
       "      <th>total_intl_minutes</th>\n",
       "      <th>total_intl_calls</th>\n",
       "      <th>total_intl_charge</th>\n",
       "      <th>number_customer_service_calls</th>\n",
       "      <th>churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>KS</td>\n",
       "      <td>128</td>\n",
       "      <td>area_code_415</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>25</td>\n",
       "      <td>265.1</td>\n",
       "      <td>110</td>\n",
       "      <td>45.07</td>\n",
       "      <td>197.4</td>\n",
       "      <td>99</td>\n",
       "      <td>16.78</td>\n",
       "      <td>244.7</td>\n",
       "      <td>91</td>\n",
       "      <td>11.01</td>\n",
       "      <td>10.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2.70</td>\n",
       "      <td>1</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>OH</td>\n",
       "      <td>107</td>\n",
       "      <td>area_code_415</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>26</td>\n",
       "      <td>161.6</td>\n",
       "      <td>123</td>\n",
       "      <td>27.47</td>\n",
       "      <td>195.5</td>\n",
       "      <td>103</td>\n",
       "      <td>16.62</td>\n",
       "      <td>254.4</td>\n",
       "      <td>103</td>\n",
       "      <td>11.45</td>\n",
       "      <td>13.7</td>\n",
       "      <td>3</td>\n",
       "      <td>3.70</td>\n",
       "      <td>1</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NJ</td>\n",
       "      <td>137</td>\n",
       "      <td>area_code_415</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>243.4</td>\n",
       "      <td>114</td>\n",
       "      <td>41.38</td>\n",
       "      <td>121.2</td>\n",
       "      <td>110</td>\n",
       "      <td>10.30</td>\n",
       "      <td>162.6</td>\n",
       "      <td>104</td>\n",
       "      <td>7.32</td>\n",
       "      <td>12.2</td>\n",
       "      <td>5</td>\n",
       "      <td>3.29</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>OH</td>\n",
       "      <td>84</td>\n",
       "      <td>area_code_408</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>299.4</td>\n",
       "      <td>71</td>\n",
       "      <td>50.90</td>\n",
       "      <td>61.9</td>\n",
       "      <td>88</td>\n",
       "      <td>5.26</td>\n",
       "      <td>196.9</td>\n",
       "      <td>89</td>\n",
       "      <td>8.86</td>\n",
       "      <td>6.6</td>\n",
       "      <td>7</td>\n",
       "      <td>1.78</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>OK</td>\n",
       "      <td>75</td>\n",
       "      <td>area_code_415</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>166.7</td>\n",
       "      <td>113</td>\n",
       "      <td>28.34</td>\n",
       "      <td>148.3</td>\n",
       "      <td>122</td>\n",
       "      <td>12.61</td>\n",
       "      <td>186.9</td>\n",
       "      <td>121</td>\n",
       "      <td>8.41</td>\n",
       "      <td>10.1</td>\n",
       "      <td>3</td>\n",
       "      <td>2.73</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  state  account_length      area_code international_plan voice_mail_plan  \\\n",
       "1    KS             128  area_code_415                 no             yes   \n",
       "2    OH             107  area_code_415                 no             yes   \n",
       "3    NJ             137  area_code_415                 no              no   \n",
       "4    OH              84  area_code_408                yes              no   \n",
       "5    OK              75  area_code_415                yes              no   \n",
       "\n",
       "   number_vmail_messages  total_day_minutes  total_day_calls  \\\n",
       "1                     25              265.1              110   \n",
       "2                     26              161.6              123   \n",
       "3                      0              243.4              114   \n",
       "4                      0              299.4               71   \n",
       "5                      0              166.7              113   \n",
       "\n",
       "   total_day_charge  total_eve_minutes  total_eve_calls  total_eve_charge  \\\n",
       "1             45.07              197.4               99             16.78   \n",
       "2             27.47              195.5              103             16.62   \n",
       "3             41.38              121.2              110             10.30   \n",
       "4             50.90               61.9               88              5.26   \n",
       "5             28.34              148.3              122             12.61   \n",
       "\n",
       "   total_night_minutes  total_night_calls  total_night_charge  \\\n",
       "1                244.7                 91               11.01   \n",
       "2                254.4                103               11.45   \n",
       "3                162.6                104                7.32   \n",
       "4                196.9                 89                8.86   \n",
       "5                186.9                121                8.41   \n",
       "\n",
       "   total_intl_minutes  total_intl_calls  total_intl_charge  \\\n",
       "1                10.0                 3               2.70   \n",
       "2                13.7                 3               3.70   \n",
       "3                12.2                 5               3.29   \n",
       "4                 6.6                 7               1.78   \n",
       "5                10.1                 3               2.73   \n",
       "\n",
       "   number_customer_service_calls churn  \n",
       "1                              1    no  \n",
       "2                              1    no  \n",
       "3                              0    no  \n",
       "4                              2    no  \n",
       "5                              3    no  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas\n",
    "df = pandas.read_csv('Data/customer_churn.csv', index_col=0, header = 0)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据前处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['state', 'account_length', 'area_code', 'international_plan',\n",
       "       'voice_mail_plan', 'number_vmail_messages', 'total_day_minutes',\n",
       "       'total_day_calls', 'total_day_charge', 'total_eve_minutes',\n",
       "       'total_eve_calls', 'total_eve_charge', 'total_night_minutes',\n",
       "       'total_night_calls', 'total_night_charge', 'total_intl_minutes',\n",
       "       'total_intl_calls', 'total_intl_charge',\n",
       "       'number_customer_service_calls', 'churn'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#df.ix[ : , 3: ]\n",
    "df = df.ix[:,3:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>international_plan</th>\n",
       "      <th>voice_mail_plan</th>\n",
       "      <th>number_vmail_messages</th>\n",
       "      <th>total_day_minutes</th>\n",
       "      <th>total_day_calls</th>\n",
       "      <th>total_day_charge</th>\n",
       "      <th>total_eve_minutes</th>\n",
       "      <th>total_eve_calls</th>\n",
       "      <th>total_eve_charge</th>\n",
       "      <th>total_night_minutes</th>\n",
       "      <th>total_night_calls</th>\n",
       "      <th>total_night_charge</th>\n",
       "      <th>total_intl_minutes</th>\n",
       "      <th>total_intl_calls</th>\n",
       "      <th>total_intl_charge</th>\n",
       "      <th>number_customer_service_calls</th>\n",
       "      <th>churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>25</td>\n",
       "      <td>265.1</td>\n",
       "      <td>110</td>\n",
       "      <td>45.07</td>\n",
       "      <td>197.4</td>\n",
       "      <td>99</td>\n",
       "      <td>16.78</td>\n",
       "      <td>244.7</td>\n",
       "      <td>91</td>\n",
       "      <td>11.01</td>\n",
       "      <td>10.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2.70</td>\n",
       "      <td>1</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>26</td>\n",
       "      <td>161.6</td>\n",
       "      <td>123</td>\n",
       "      <td>27.47</td>\n",
       "      <td>195.5</td>\n",
       "      <td>103</td>\n",
       "      <td>16.62</td>\n",
       "      <td>254.4</td>\n",
       "      <td>103</td>\n",
       "      <td>11.45</td>\n",
       "      <td>13.7</td>\n",
       "      <td>3</td>\n",
       "      <td>3.70</td>\n",
       "      <td>1</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>243.4</td>\n",
       "      <td>114</td>\n",
       "      <td>41.38</td>\n",
       "      <td>121.2</td>\n",
       "      <td>110</td>\n",
       "      <td>10.30</td>\n",
       "      <td>162.6</td>\n",
       "      <td>104</td>\n",
       "      <td>7.32</td>\n",
       "      <td>12.2</td>\n",
       "      <td>5</td>\n",
       "      <td>3.29</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>299.4</td>\n",
       "      <td>71</td>\n",
       "      <td>50.90</td>\n",
       "      <td>61.9</td>\n",
       "      <td>88</td>\n",
       "      <td>5.26</td>\n",
       "      <td>196.9</td>\n",
       "      <td>89</td>\n",
       "      <td>8.86</td>\n",
       "      <td>6.6</td>\n",
       "      <td>7</td>\n",
       "      <td>1.78</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>166.7</td>\n",
       "      <td>113</td>\n",
       "      <td>28.34</td>\n",
       "      <td>148.3</td>\n",
       "      <td>122</td>\n",
       "      <td>12.61</td>\n",
       "      <td>186.9</td>\n",
       "      <td>121</td>\n",
       "      <td>8.41</td>\n",
       "      <td>10.1</td>\n",
       "      <td>3</td>\n",
       "      <td>2.73</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  international_plan voice_mail_plan  number_vmail_messages  \\\n",
       "1                 no             yes                     25   \n",
       "2                 no             yes                     26   \n",
       "3                 no              no                      0   \n",
       "4                yes              no                      0   \n",
       "5                yes              no                      0   \n",
       "\n",
       "   total_day_minutes  total_day_calls  total_day_charge  total_eve_minutes  \\\n",
       "1              265.1              110             45.07              197.4   \n",
       "2              161.6              123             27.47              195.5   \n",
       "3              243.4              114             41.38              121.2   \n",
       "4              299.4               71             50.90               61.9   \n",
       "5              166.7              113             28.34              148.3   \n",
       "\n",
       "   total_eve_calls  total_eve_charge  total_night_minutes  total_night_calls  \\\n",
       "1               99             16.78                244.7                 91   \n",
       "2              103             16.62                254.4                103   \n",
       "3              110             10.30                162.6                104   \n",
       "4               88              5.26                196.9                 89   \n",
       "5              122             12.61                186.9                121   \n",
       "\n",
       "   total_night_charge  total_intl_minutes  total_intl_calls  \\\n",
       "1               11.01                10.0                 3   \n",
       "2               11.45                13.7                 3   \n",
       "3                7.32                12.2                 5   \n",
       "4                8.86                 6.6                 7   \n",
       "5                8.41                10.1                 3   \n",
       "\n",
       "   total_intl_charge  number_customer_service_calls churn  \n",
       "1               2.70                              1    no  \n",
       "2               3.70                              1    no  \n",
       "3               3.29                              0    no  \n",
       "4               1.78                              2    no  \n",
       "5               2.73                              3    no  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 3333 entries, 1 to 3333\n",
      "Data columns (total 17 columns):\n",
      "international_plan               3333 non-null object\n",
      "voice_mail_plan                  3333 non-null object\n",
      "number_vmail_messages            3333 non-null int64\n",
      "total_day_minutes                3333 non-null float64\n",
      "total_day_calls                  3333 non-null int64\n",
      "total_day_charge                 3333 non-null float64\n",
      "total_eve_minutes                3333 non-null float64\n",
      "total_eve_calls                  3333 non-null int64\n",
      "total_eve_charge                 3333 non-null float64\n",
      "total_night_minutes              3333 non-null float64\n",
      "total_night_calls                3333 non-null int64\n",
      "total_night_charge               3333 non-null float64\n",
      "total_intl_minutes               3333 non-null float64\n",
      "total_intl_calls                 3333 non-null int64\n",
      "total_intl_charge                3333 non-null float64\n",
      "number_customer_service_calls    3333 non-null int64\n",
      "churn                            3333 non-null object\n",
      "dtypes: float64(8), int64(6), object(3)\n",
      "memory usage: 468.7+ KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "cat_var = ['international_plan','voice_mail_plan', 'churn']\n",
    "\n",
    "for var in cat_var:\n",
    "    df[var] = df[var].map(lambda e: 1 if e == 'yes' else 0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>international_plan</th>\n",
       "      <th>voice_mail_plan</th>\n",
       "      <th>number_vmail_messages</th>\n",
       "      <th>total_day_minutes</th>\n",
       "      <th>total_day_calls</th>\n",
       "      <th>total_day_charge</th>\n",
       "      <th>total_eve_minutes</th>\n",
       "      <th>total_eve_calls</th>\n",
       "      <th>total_eve_charge</th>\n",
       "      <th>total_night_minutes</th>\n",
       "      <th>total_night_calls</th>\n",
       "      <th>total_night_charge</th>\n",
       "      <th>total_intl_minutes</th>\n",
       "      <th>total_intl_calls</th>\n",
       "      <th>total_intl_charge</th>\n",
       "      <th>number_customer_service_calls</th>\n",
       "      <th>churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>265.1</td>\n",
       "      <td>110</td>\n",
       "      <td>45.07</td>\n",
       "      <td>197.4</td>\n",
       "      <td>99</td>\n",
       "      <td>16.78</td>\n",
       "      <td>244.7</td>\n",
       "      <td>91</td>\n",
       "      <td>11.01</td>\n",
       "      <td>10.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2.70</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>161.6</td>\n",
       "      <td>123</td>\n",
       "      <td>27.47</td>\n",
       "      <td>195.5</td>\n",
       "      <td>103</td>\n",
       "      <td>16.62</td>\n",
       "      <td>254.4</td>\n",
       "      <td>103</td>\n",
       "      <td>11.45</td>\n",
       "      <td>13.7</td>\n",
       "      <td>3</td>\n",
       "      <td>3.70</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>243.4</td>\n",
       "      <td>114</td>\n",
       "      <td>41.38</td>\n",
       "      <td>121.2</td>\n",
       "      <td>110</td>\n",
       "      <td>10.30</td>\n",
       "      <td>162.6</td>\n",
       "      <td>104</td>\n",
       "      <td>7.32</td>\n",
       "      <td>12.2</td>\n",
       "      <td>5</td>\n",
       "      <td>3.29</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>299.4</td>\n",
       "      <td>71</td>\n",
       "      <td>50.90</td>\n",
       "      <td>61.9</td>\n",
       "      <td>88</td>\n",
       "      <td>5.26</td>\n",
       "      <td>196.9</td>\n",
       "      <td>89</td>\n",
       "      <td>8.86</td>\n",
       "      <td>6.6</td>\n",
       "      <td>7</td>\n",
       "      <td>1.78</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>166.7</td>\n",
       "      <td>113</td>\n",
       "      <td>28.34</td>\n",
       "      <td>148.3</td>\n",
       "      <td>122</td>\n",
       "      <td>12.61</td>\n",
       "      <td>186.9</td>\n",
       "      <td>121</td>\n",
       "      <td>8.41</td>\n",
       "      <td>10.1</td>\n",
       "      <td>3</td>\n",
       "      <td>2.73</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   international_plan  voice_mail_plan  number_vmail_messages  \\\n",
       "1                   0                1                     25   \n",
       "2                   0                1                     26   \n",
       "3                   0                0                      0   \n",
       "4                   1                0                      0   \n",
       "5                   1                0                      0   \n",
       "\n",
       "   total_day_minutes  total_day_calls  total_day_charge  total_eve_minutes  \\\n",
       "1              265.1              110             45.07              197.4   \n",
       "2              161.6              123             27.47              195.5   \n",
       "3              243.4              114             41.38              121.2   \n",
       "4              299.4               71             50.90               61.9   \n",
       "5              166.7              113             28.34              148.3   \n",
       "\n",
       "   total_eve_calls  total_eve_charge  total_night_minutes  total_night_calls  \\\n",
       "1               99             16.78                244.7                 91   \n",
       "2              103             16.62                254.4                103   \n",
       "3              110             10.30                162.6                104   \n",
       "4               88              5.26                196.9                 89   \n",
       "5              122             12.61                186.9                121   \n",
       "\n",
       "   total_night_charge  total_intl_minutes  total_intl_calls  \\\n",
       "1               11.01                10.0                 3   \n",
       "2               11.45                13.7                 3   \n",
       "3                7.32                12.2                 5   \n",
       "4                8.86                 6.6                 7   \n",
       "5                8.41                10.1                 3   \n",
       "\n",
       "   total_intl_charge  number_customer_service_calls  churn  \n",
       "1               2.70                              1      0  \n",
       "2               3.70                              1      0  \n",
       "3               3.29                              0      0  \n",
       "4               1.78                              2      0  \n",
       "5               2.73                              3      0  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "y = df.ix[:,-1]\n",
    "X = df.ix[:,:-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>international_plan</th>\n",
       "      <th>voice_mail_plan</th>\n",
       "      <th>number_vmail_messages</th>\n",
       "      <th>total_day_minutes</th>\n",
       "      <th>total_day_calls</th>\n",
       "      <th>total_day_charge</th>\n",
       "      <th>total_eve_minutes</th>\n",
       "      <th>total_eve_calls</th>\n",
       "      <th>total_eve_charge</th>\n",
       "      <th>total_night_minutes</th>\n",
       "      <th>total_night_calls</th>\n",
       "      <th>total_night_charge</th>\n",
       "      <th>total_intl_minutes</th>\n",
       "      <th>total_intl_calls</th>\n",
       "      <th>total_intl_charge</th>\n",
       "      <th>number_customer_service_calls</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>265.1</td>\n",
       "      <td>110</td>\n",
       "      <td>45.07</td>\n",
       "      <td>197.4</td>\n",
       "      <td>99</td>\n",
       "      <td>16.78</td>\n",
       "      <td>244.7</td>\n",
       "      <td>91</td>\n",
       "      <td>11.01</td>\n",
       "      <td>10.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2.70</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>161.6</td>\n",
       "      <td>123</td>\n",
       "      <td>27.47</td>\n",
       "      <td>195.5</td>\n",
       "      <td>103</td>\n",
       "      <td>16.62</td>\n",
       "      <td>254.4</td>\n",
       "      <td>103</td>\n",
       "      <td>11.45</td>\n",
       "      <td>13.7</td>\n",
       "      <td>3</td>\n",
       "      <td>3.70</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>243.4</td>\n",
       "      <td>114</td>\n",
       "      <td>41.38</td>\n",
       "      <td>121.2</td>\n",
       "      <td>110</td>\n",
       "      <td>10.30</td>\n",
       "      <td>162.6</td>\n",
       "      <td>104</td>\n",
       "      <td>7.32</td>\n",
       "      <td>12.2</td>\n",
       "      <td>5</td>\n",
       "      <td>3.29</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>299.4</td>\n",
       "      <td>71</td>\n",
       "      <td>50.90</td>\n",
       "      <td>61.9</td>\n",
       "      <td>88</td>\n",
       "      <td>5.26</td>\n",
       "      <td>196.9</td>\n",
       "      <td>89</td>\n",
       "      <td>8.86</td>\n",
       "      <td>6.6</td>\n",
       "      <td>7</td>\n",
       "      <td>1.78</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>166.7</td>\n",
       "      <td>113</td>\n",
       "      <td>28.34</td>\n",
       "      <td>148.3</td>\n",
       "      <td>122</td>\n",
       "      <td>12.61</td>\n",
       "      <td>186.9</td>\n",
       "      <td>121</td>\n",
       "      <td>8.41</td>\n",
       "      <td>10.1</td>\n",
       "      <td>3</td>\n",
       "      <td>2.73</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   international_plan  voice_mail_plan  number_vmail_messages  \\\n",
       "1                   0                1                     25   \n",
       "2                   0                1                     26   \n",
       "3                   0                0                      0   \n",
       "4                   1                0                      0   \n",
       "5                   1                0                      0   \n",
       "\n",
       "   total_day_minutes  total_day_calls  total_day_charge  total_eve_minutes  \\\n",
       "1              265.1              110             45.07              197.4   \n",
       "2              161.6              123             27.47              195.5   \n",
       "3              243.4              114             41.38              121.2   \n",
       "4              299.4               71             50.90               61.9   \n",
       "5              166.7              113             28.34              148.3   \n",
       "\n",
       "   total_eve_calls  total_eve_charge  total_night_minutes  total_night_calls  \\\n",
       "1               99             16.78                244.7                 91   \n",
       "2              103             16.62                254.4                103   \n",
       "3              110             10.30                162.6                104   \n",
       "4               88              5.26                196.9                 89   \n",
       "5              122             12.61                186.9                121   \n",
       "\n",
       "   total_night_charge  total_intl_minutes  total_intl_calls  \\\n",
       "1               11.01                10.0                 3   \n",
       "2               11.45                13.7                 3   \n",
       "3                7.32                12.2                 5   \n",
       "4                8.86                 6.6                 7   \n",
       "5                8.41                10.1                 3   \n",
       "\n",
       "   total_intl_charge  number_customer_service_calls  \n",
       "1               2.70                              1  \n",
       "2               3.70                              1  \n",
       "3               3.29                              0  \n",
       "4               1.78                              2  \n",
       "5               2.73                              3  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.head()\n",
    "X.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用决策树建立分类模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=3,\n",
       "            max_features=None, max_leaf_nodes=None,\n",
       "            min_impurity_split=1e-07, min_samples_leaf=1,\n",
       "            min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
       "            presort=False, random_state=None, splitter='best')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn import tree\n",
    "\n",
    "clf = tree.DecisionTreeClassifier(max_depth=3)\n",
    "clf.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tree.export_graphviz(clf, out_file='tree.dot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\core\\magics\\pylab.py:161: UserWarning: pylab import has clobbered these variables: ['clf']\n",
      "`%matplotlib` prevents importing * from pylab and numpy\n",
      "  \"\\n`%matplotlib` prevents importing * from pylab and numpy\"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nQQIAgDWD4dgAAAAlampqSldddZXefPNNZ9vXvvY1nT59Ws8995xOnDihq6++uogRYi2IRCL68pe/\nrPvvv1//9m//pp/97Gf67W9/q40bN2rHjh0aHh4udogAAGANIAkJAABQokKhkPbs2aN33nnH2WYY\nhi699FL96Ec/0nXXXVfE6LCW3HvvvU5P29/+9rfO9osuukj//d//rcrKymKFBgAA1giGYwMAAJSg\nd999Vw8++GBaAlKSLMvShQsX9A//8A96++23ixQd1pL//M//1MGDByWlJyAlacOGDXrooYeKERYA\nAFhj6AkJAABQgo4cOaLPfOYzWfdv3LhRN9xwg2KxmC6//PIVjAxryX/8x3/oU5/6lH7961/rd7/7\nXcYyH/jAB/TLX/5SH/jAB1Y4OgAAsJbQExIAAKAEhUIhbdiwIev+3/3udxoZGVFZWZn4P2Usxc9/\n/nN97GMfUyqVypqAlKQ333xTg4ODKxgZAABYi0hCAgAAlJgzZ87oRz/60Zyh2DP93u/9niTp9ttv\nl2EYKxUa1hC7B61lWbroouw/CyzLUigUItkNAACWhSQkAABAidm/f78uvvjijPs2btwoSfrEJz6h\nn/zkJ3rkkUdWMjSsIX/0R3+kd955R9/73vd01VVXZe15++677+q//uu/9NRTT61whAAAYC1hTkgA\nAIAS8tprr2nz5s26cOFC2vaLLrpI7777rv78z/9c//zP/6xPfOITxQkQa9KFCxf0r//6r9q3b5/e\neOONOcOzN27cqIaGBn3/+98vUoQAAGC1oyckAABACTlw4IDeffdd57VhGDIMQx/96Ef16KOP6tSp\nUyQgkXcXX3yxdu/erWQyqUAgoPe9733OkH9peg7Sp556Si+88EIRowQAAKsZSUgAAIAS8bvf/U4P\nPvig0wttw4YN2rRpk7797W/r5z//uT772c8y/yMK6gMf+IC+/vWvK5lM6itf+Yo2btzoJCM3btyo\nBx98sMgRAgCA1Yrh2AAAACXi4MGD+sIXviBJcrlcCgQCuuuuu3TppZcWNzCsW3bPyP7+fmdhmlQq\npd///d8vcmQAAGC1IQkJAEAJ27t3L8Mf15Gnn35ar732mq655hpVV1enDYctNVdffbXuu+++Yoex\nrhTzfvC///u/On36tF577TVdf/312rx5c1HiQP5s2LBB3/zmN7Vp06ZihwIAWCdIQgIAUMLsobeN\n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\nWuz29eY7JmAtsNtQTU1N2p8jIyNzyqZSKR0+fHhZ5wsGgwoGg1n35/seBQDAakISEgCANWB0dDTr\n/GDhcNjZlkwmlUqlnOGGhmEoEAjINM2M9WaqL9scZKZpOufyeDxzhhiuhEwJOUnq7Ox0ntfX189J\nysXjcd1+++1p2wKBgKTppEJZWVnGenMpk4uZCUhpOhkiSX6/P217MpmUx+NRIBDQ6OhoQWPC6sX9\n4D2hUEiSnPaSTCYlKWOi8MCBA9q9e3dB48nnPQoAgNWGJCQAAGvA1q1bdfz4cUnTiauZQ2+7urrk\n9/s1NjamyspK7dmzRx0dHZqcnNTExIS6u7u1b9++jPVOTk7O2TYxMTFnm2maamtr0+bNm2VZlu65\n5x41NDQokUhkrDfbfGf5XmjBTubNHLKcqSfRyMiI00NKmh6S2d3drZ07dzoJmtmJlFzKLEUymXQS\nJ62trWn77Pezu7tb27Ztk8fjSUsYFSomrC7cD95jX++2bds0OjqqEydOaHJyMq29S9NJvhtuuGHF\nexou9R4FAMBqRBISAIA1or6+Xn6/X93d3c4PW+m9H7n2D9grr7xSnZ2dKi8vd3rb9Pb2Zqwz04/h\nTEN74/G4YrGYM7TQnrcs29DGmcMM53ss1+nTp+V2u3XTTTdlLZNIJFRXV5e27dixY5Kmr7W9vV1T\nU1PavHmzGhoanB5VuZRZrGQyqaqqKnV3d0vSnDnl3G63pqamNDY2Jr/fr1gspiNHjiwqbqwP3A/e\nEwwG1dnZqW3btunMmTO65JJL0vabpqkXX3xxTo/klbDUexQAAKsRSUgAANYQe7je0aNHnW2nT59O\nG8YXDAbV09OjZDKZdXGGxRocHJQ0d2imnUwrlv3792vv3r3zDks+fPjwnMUeZs8jV1ZW5gyXPHjw\nYM5lFquyslKWZTlJRp/Pp0gkklamrKxMNTU1CgaD6uvrS0tUFiImrF7cD6aFw2HV1dVpampK0nQP\n45mJ2SNHjqi9vb0osS31HgUAwGpEEhIAgDWkpqZGbrfbSQJI0tNPPz1nGF8kEtHdd9+ddX6yxbIT\nYbn2XlqJ4djRaFRut3ve3k32UOZchmDa72G2XmK5lslFTU2NMxR7vpV677jjjowr8BYiJqw+3A+m\n7wM+n087duxQWVmZWltbFYvF9Mgjjzixbt++fWkXukz5vkcBAFDqSEICALDGtLS0KBaLaXR0VMlk\n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\nERFRACxGEhGROxYhiYiIWrFarXjwwQeRnp6OJ598EpMmTcJnn32Gv//977j22mtFh0dERBRXWIwk\nIiKARUgiIiKX3bt3Y9y4cbjiiiuwbt06PPbYY7DZbHjyySdx4YUXig6PiIgorrEYSUSkbSxCEhGR\npsmyjK1bt2Lw4MG48cYb8fHHH+Oll17Cp59+ipkzZ3KyGSIiojBjMZKISJtYhCQiIk36+eefsXLl\nSmRmZmLEiBFITk7Ga6+9hj179uCuu+5CcnKy6BCJiIgSGouRRETawiIkERFpijLZzKWXXoqCggJk\nZma6JpsZMmSI6PCIiIg0h8VIIiJtYBGSiIg04fPPP0dxcTHS09OxcOFC5Ofn49NPP8WqVas42QwR\nEVEMYDGSiCixsQhJREQJzWKxYMKECbj88suxdu1azJkzB59//jmefvppXHzxxaLDIyIiolZYjCQi\nSkwsQhIRUcJRJpsZOnQorr/+ejQ1NeGFF17Ap59+iuLiYpxzzjmiQyQiIqIAWIwkIkosLEISEVHC\nOH78OFavXo3evXtj+PDhAIAtW7agqakJEyZM4GQzREREcYjFSCKixMAiJBERxb3vvvsORqMRl19+\nOf74xz/iuuuuw549e/Daa69h2LBh0Ol0okMkIiKidmIxkogovrEISUREcevzzz/Hn//8Z1x88cWY\nP38+cnJyXJPN9O7dW3R4REREFAEsRhIRxScWIYmIKO58+OGHuPvuu3H55ZdjzZo1mD17Nmw2G555\n5hlONkNERKQRLEYSEcUXFiGJiChubNu2DcOHD0dmZibef/99VFRU4LPPPsNf/vIXpKamig6PiIiI\nBGAxkogoPrAISUREMU2ZbOb666/H0KFD8fPPP+PVV19FU1MTJk2ahE6dOokOkYiIiGIAi5FERLGN\nRUgiIopJ33//PRYtWoQrrrgC99xzD6688kq89957qK+vx/DhwznZDBEREXnFYiQRUWxiEZKIiGLK\nl19+iYcffhjp6emYM2cOsrOzcfDgQZhMJtxwww2iwyMiIqI4wWIkEVFsYRGSiIhigjLZzKWXXoqV\nK1di1qxZsNlsePbZZ5GRkSE6PCIiIopTLEYSEcUGFiGJiEio119/HbfddhsyMzPx7rvvYunSpTh8\n+DAeeeQRTjZDREREYcNiJBGRWCxCEhFR1J04cQJVVVW48cYbkZWVhR9//BG1tbXYu3cv7r33XnTu\n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\n0WFQjKqsrGxX+1QrnDnIbrd7LGMymWQAstFo9LrvWMtBBoNBNhgMquIyGo2yJEmy2WyWrVarx2uh\n5DKn0+nKW06n0/XZRTuXMS/FhvZ+D+HuWyj8/d2r3UYgItq10WiUAcgWi8UVg3vuamho8OhjuD/s\ndrvPfQezXiT7MWzXiemjjz6SAchJSUmuv5ukpCS5c+fOHs+5Pzp27Chfc801Eelf8JjmF/FyTBPr\nx8kU31iEJM2Kl+Rqt9tlSZJcP1gKq9UqS5LUprPq7cfWarXKADx+2JWOtNKxDrQNNXGaTCa5sLBQ\nNplMfjvfwQg29tbioejYGg8KyJ9oFSEV4chB7u3X33JqXvMXZyRyUDBxFRYWygaDweNzUoSay7zl\nsPYeVIWCeSk2hOt7CEe7Vvj7u1e7DX9ximzX3l4DIEuSJMvy6YJC66Kr3W4PWLQIZr1I9mPYrhPb\niRMn5MOHD8uvv/66/NJLL8lz586VJ06cKPft21dOS0uTdTqd14JkpPCYJn6OaeLlOJniEyemIYpx\naWlpKC0tRe/evbFixQo89NBDAIAnnngCK1asQFpaWsBt7Nq1CwBw4YUXup674IILAADvvPMOMjMz\nQ46vqakJNTU1AICcnBzk5eWFvC1v2hO7zWaDXq+HwWDAbbfdhn79+oU1NiItCEcOat32WlpaAAAG\ng6Hd8UU6B6lVUlICACgtLfX6eqi5TJIkr88XFhaGHCtRONo1EPjvPlSx0q6NRiOKi4vR2NiIfv36\nwWazAfjl/WZlZbX5rOrr65GTk+N3u2rXYz+G2iMpKQkZGRnIyMjw+vrPP/8Mm82GQ4cO4fDhw1ix\nYgXefffdiMXDYxoe0xAB4O3YpF3xdobHbDbLAOS6ujq5vLzc51k5eDnjV1hY6PUsINzO5gfahrtg\nzhDCyxlWbw9fgo3dnfKZKQ9vZ1ljEXhlAvkR7SshFe3JQe6sVqvrFsjm5uaQthHNHKQmLuVKBrPZ\n7LpdSpIkua6uzrVMe3KZO6fTGfHbsLxhXooN4f4e2tOu1fzdB9qGu1hr1wolXzU0NKi6KqqwsFDV\nftWsF+l+DNs1uYtW/4LHNOpidxftY5p4O06m+MIiJGlWPCZXZWwiXx18WfZ965CvH71gnnd/3Wg0\nBrz1KhxCjVHhdDpd47kAUD3uikg8KCB/RBUhZTn0HKRQbkVSHqGOCRnNHNR6v97iaj1unDLOk1K4\n8LduMMUSWZZd42qJeO/MS+JF4nsItV2r+bsPtI3Wr8dSu3anvK9At51bLBav490F4m+9SPZj2K7J\nXTT7FzymCfx8a9E8ponH42SKH5wdmyiO5ObmQpIkLFq0yHU7owh2ux0XXXQRHn74YVRVVcHhcAiL\nJZCUlBRkZmaitLQU5eXlQc1CR0Se2puD0tPTIcsyLBYLDAYDiouLUVFREfR2Yi0HFRcXA4DrVqqU\nlBTX7dIrV64M674WLVqE2bNnIyUlJazbJe0KtV2H++8+1tq1oqysDIMGDYLT6QQATJgwwefnVFNT\ng6ysrKD34W899mMoEfGYJnjMBZQoWIQkihMOhwMHDx7Ec889h9raWqxYsUL1ur7GFANCG1csLS0N\neXl5WLZsGa666iosWbIEJSUlaGpqarOsTqdT9YhG7GPHjuUPNlGI2pODWsvMzMSECRMAAFOmTAl6\n/WjmoFAphZnly5cDCE8uq6qqgiRJHAuKwiac7Rpo+3cfjFhs11VVVSguLsaIESOQkpKCCRMmoLa2\nFmvXrm2zrFK8UDueZijrsR9DiYDHNO2PnbmA4hmLkERxYtOmTcjKykJ6ejrKy8tdA6WrofzouZ/d\nUwZX/+1vf9uuuJQzctOnT8dHH32EoqIijzOJ8ulhHwI+ohG7+1UaRBSc9uQgb3r06BGWuCKdg9RQ\n8oq3qzmUHNbeXNbU1IR9+/ahoKCgXbESuWtPu1bzdx+qWGjXADBu3DgAcF153LVrVwDeT56omZDG\nm2DWYz+GEgGPaXhMQ9rGIiRRjGtpaUFZWZnHgWdBQQEkScLChQtx4MCBgNsYNmwYAODQoUOu5778\n8kuP19rL25nEcAhn7C0tLcjNzQ1LXERaEY4c5Gu7AGAymcISZ6RykBpKXjl8+LDrOeX95efnA2hf\nLnM4HNi2bZvHDMRNTU0oKipqf/CkSeFo12r+7ttLZLsG2hZTlWKktyLr9u3bQ5qZN5j12I+heMZj\nGh7TEAEQNLI9UQyIhwF3LRaLLEmSa9B3d8oMqWg1qDN8DG5cXl4uFxYWyk6n0zV4vK8BjX1tQxQ1\nsRsMBtlgMLj+bTKZPD4Xq9Ua9dlkQwUOFE9+RHPg+HDlIEmSZKPRKFutVte6rdusu1jLQbLs+X69\nDWBvMBg8ZqssLy9vM9tlKLnMbrfLkiR5nYEzmjmNeSk2hON7CGffQs3ffaBtiBSoXdfV1ckAXJPG\nNDQ0eJ1MI9CENL7ynb/1otGPYbsmd5HsX/CY5rR4OaaJh+Nkil+8EpIoRul0OvTu3Ru1tbXo3bs3\n6uvrXa/ZbDakpqa6/j148OCAYx8VFBRg5MiRSE1NxYQJE5Cbmxs3t/WFEvuZZ57p+lxKSkrw7bff\ntvv2MCItCWcOKigoQHFxMTIyMqDT6bBixQrcdtttHlf2xTKdTufxflNTU9u839LSUkiShK5du7pe\nW7VqlccyoeSyuXPn+hz3qWfPnqG8HdKwcPct1Pzdxyo17TorKwt1dXXYvn07dDodVq5cibq6ujaT\nyERiQhr2YyhR8JjmFzymIQJ0shyGAVOI4tD48eMBAJWVlYIjCS/lh7s9TTsc26DQ6XQ6VFZWhu12\nNkosa9aswfjx42O2fTIHJSbmpdgg6ntgu05MbNfkLtb6F8w74iTqcTLFBl4JSURERERERERERBHF\nIiQRERERERERERFFVEfRARBRZIRy+0GgMViIiNRiDiJKPGzXRBRtzDtEiYVFSKIE054xTzheChG1\nF3MQUeJhuyaiaGPeIUpMvB2biIiIiIiIiIiIIopFSCIiIiIiIiIiIoooFiGJ4kxJSQlKSkoivg4R\nUaiYp4i0gW2diELF/EGkTSxCElHY1NbWQq/XQ6/Xo7a2VtU6LS0taGxsREVFBfR6vap1Kioq/A44\n3dTU5Npe6+WUGHU6HfR6PaqqqlTtk4gSQyh5qjVvOcjhcLie1+l0XnNLuJYhosBCaesOhwMlJSUB\n219TU5NrGZ1Oh6KiIp/799bfaGlp8Vjf/cE2TyReKPnDZrOhqKjIlRPq6+tD3nYwy/CYhuKOTKRR\n+fn5cn5+vugwEobJZJIlSZKdTqfsdDrlwsJCuby8POB6BoNBNhgMMgBZTUqyWCx+lzUajbIkSbLZ\nbJatVmub1wDIFovFY1tGo1HFO4weAHJlZaXoMChGVVZWqmor1FaoecqdtxzkdDplSZJc27Lb7bIk\nSbLBYAj7MqIwL8UGfg/qhNLW7Xa73NDQ4LENX32E8vJyVx4AIJvNZo/XA/U3GhoaPNZ3f9jt9va+\nfdX490Tu2L84LZT84XQ6XXnA6XS68kfr3KBm22qWifQxDY+TKZKYZUizmFzDx2q1ygA8Ou/Kj6Hy\n4xiImiKk0+n0W7AsLCyUDQaD7HQ6Ve8DgCxJkqoYo4UHBeQPDxJCE4485SsHKQcb7rlH2XZdXV1Y\nlxGFeSk28HsILNS27r68wld/o3VhQc167v0Nk8nU5kSp3W4V+MEqAAAgAElEQVSP+gkH/j2RO/Yv\nQs8f3nJC6zygZttq9x/pYxoeJ1Mk8XZsohhTX1/vurS+rKwMDofD9ZrD4UBVVZXrtuXW/66trXVd\nkm+z2bwuEwm7du0CAFx44YWu5y644AIAwDvvvBO2/axYsQLTp0/3+poyPkxpaSlSUlK8LmM0GgEA\njY2NAOD6jEpLS8MWI5EWaDVP+cpBa9asAQCP3HPJJZcAAKqrq8O6DFE0aamt9+vXz+PfLS0tAACD\nweDxvM1mg16vR0lJias/0Vqg/kZWVhbS09M91qmvr0dOTo6fd0YUX7SUPyRJ8vp8YWFhUNtWu38e\n01BcE10FJRIlFs/wmM1mj7NfylUxykOSJI8zX+7/VtZRzqAVFha2WcYX9334e/hSWFjo9XUEcUYu\n0D7q6upc77H1ssoZQrPZ7LpFSpIkr1cOKVcxNTQ0yCaTKaq3PakFXplAfoi+UkGrecpfDvK1b/fn\nw7WMKMxLsSGa34NW27oSt9JfaG5u9vq5uH8O3voSwfY3lM8omtiuyV04+xdazh+yfPrOCeXYJJht\nB7P/SB7TxOJxMiUOFiFJs2IxuXr7YQQ8x/dQc/Cr9gA5XMJx4OxvWbvd7jEWSutlW4+Looyf4t6R\ncae85u/WbZF4UED+iC5CajFPBcpBSk5pXaxwXy5cy4jCvBQbovk9aLGty/IvhQ/l4W2MNafTKVss\nFlcRwNd4cWr7GxaLRTaZTAFjCze2a3IXzv6FVvOHoq6uzjWuYzDbDnb/kTqmicXjZEocvB2bKIa4\nX7Lvrri4OMqRxJZNmzahoKDA5+vK55OZmQng9K2Myme5cuVKj2XLysowaNAgOJ1OAMCECRNct1wR\nUWBazFOBctCkSZMAAM8++6wrnzQ1NQH45ZapcC1DFC1abOsAkJ6eDlmWYbFYYDAYUFxcjIqKCo9l\nUlJSkJmZidLSUpSXl3udvTaY/kZNTQ2ysrLC/2aIBNFq/lAsWrQIs2fP9jlEVDjwmIbiFYuQRDFE\n+cGuqqoCEL2DT51Op+rhi69xUADfnRC1amtrMWzYsKDXUwqSy5cvdz1XVVWF4uJijBgxAikpKZgw\nYQJqa2uxdu3adsVIpCVay1NqclC/fv1QV1eHI0eOIDU1FRUVFfjmm28AAEOGDAnrMkTRorW23lpm\nZiYmTJgAAJgyZYrP5caOHdumCBlMf0MZJy8tLU11bESxTsv5o6qqCpIktRlnVs221e6fxzQUz1iE\nJIohmZmZMJvNOHLkCHQ6HUpKSmAymfDQQw9FdL/y6aEZAj58UX4w3QecVgZI/u1vf9uu2PR6PTIy\nMrx2HJT/V36UvZ39c/8xHzduHIBfJn3o2rUrAP8HF0TkSWt5Sk0OAk5PNGE2myHLMgoKCrBnzx4Y\nDAbXCZFwLkMUDVpr69706NEj4DLud18ogulvcEIaSkRazR9NTU3Yt2+f17sn1Gxb7f55TEPxjEVI\nohhSW1uLgQMH4qGHHoIsyzCbzcjLyxMdVkDKVUKHDh1yPffll196vBYqfx0H5f9zc3MBAIcPH3a9\nphQk8/PzXc+1Pruo/HD7O+tIRJ60lqfU5KDWqqqqsH37dr+3nYVrGaJI0Vpb90bpS5hMJr/LKP0Q\nRTD9je3bt/MkAyUcLeYPh8OBbdu2ecxQ3dTUhKKiItXbVrt/HtNQPGMRkiiG6PV6pKamtrlloKio\nCA6Hw+OsWOt/Kx1l96sBva0TCenp6SgvL8fKlSvR0tKClpYWrFy5EuXl5UhPT3ctV1JSgpKSkjbr\nu8ccylgmWVlZMBgMKCkpcb3HtWvXQpIkjw7PjBkzAPxya0hjY6PH80QUmFbzVCAtLS2ug40jR47A\nbDa3GQsqXMsQRYPW2rper0dZWZnrqqOWlhYYjUYYDAZXX6Kqqgr19fWudWw2G3bs2NFmPEe1/Y2m\npiYMGjQoXG+dKGZoLX84HA5MnjwZxcXFHu+3d+/eGDlypOptq90/j2koroVnfhui+BOLs35ZLBZZ\nkiSPWRmVhzL7mb+HLMuqlokUs9ksA5AlSZLr6uravG4wGGSDweDxXChx+lqmvLzc9Vp5ebnXWeLq\n6upcn2VhYaHXOEUDZ6skP0TPjq3FPNVa6zjd847FYvG7TnuXEYV5KTZE83vQWltXllceRqNRbmho\n8LpN/P9stP7aqZr+hsFgkO12ezveZfuwXZO7cPYvtJY//L2n5ubmoLatdplIHtPE4nEyJQ6dLPsZ\nFIEogY0fPx4AUFlZKTiSXxw4cABdunTxONOlPN+zZ0+/Y5hQ4tDpdKisrPS4lZxIsWbNGowfP15Y\nPmCe0ibmpdgQze+BbT3xsV2Tu3D2L5g/4lssHidT4uDt2EQxoqqqCj169GjzYw2cHmzY33hERETR\nwDxFpA1s60QUKuYPIvKno+gAiOi0NWvW4Pvvv8ewYcM8frQPHDiA7du3e51ljYgompiniLSBbZ2I\nQsX8QUT+8EpIohixatUqnH322XjiiSdcgxmXlJTgiy++4I81EcUE5ikibWBbJ6JQMX8QkT+8EpIo\nRqSkpCAvLw95eXlYtmyZ6HCIiNpgniLSBrZ1IgoV8wcR+cMrIYmIiIiIiIiIiCiiWIQkIiIiIiIi\nIiKiiGIRkkjjHA4HqqqqoNfrRYdCRKQK8xaRNrCtE1E4MacQicciJJHGzZ07F+PGjUNtba3oUPyy\n2WwoKiqCTqdDUVER6uvrvS5XW1sLvV4PnU4HvV6Pqqoq12stLS2uAbJbP1ov19jYiIqKCnZSiGJQ\nouWtpqYmj3xUVFTk8TpzEmlVvLR1tW00UFsH/PdjiKh94iWnAIHzhcPhQElJiddjGaJYxiIkkcbF\nw4DRLS0taGpqwrJly+B0OjFo0CAMHjy4TQeirKwMer0epaWlkGUZpaWlGDduHMrKygAAH330kc99\nZGVluf7faDRi8+bNmDJlSlx0Uoi0JpHyFgC88847Hv8eOXKkx7+Zk0ir4qGtA+rbaKC2HqgfQ0Tt\nEy85BfCfLxwOBw4dOuTKFSaTibmC4gaLkEQU83bs2AFJkgD8MuMegDZXGxQXFwMAMjMzPf67fft2\nAMDhw4dhtVohy7LrYbfbYTAYkJaW5tpOaWkpSktLI/umiCihqc1bANCtWzePvKSsp2BOIoptatto\noLYeqB9DRNrhL18cOnQI/fr1c/1b6WMoOYQolrEISRQlZWVl0Ol0qKiogMPhgE6nc73W0tKCiooK\n1+X0JSUlcDgcANqOXVJbW+u6JN9mswEAqqqq2jzncDhct/QAcG2/qKgIBw4cCBivw+FwxazX69vc\nRujv/YRb6066orCw0OPfRqMRANDY2AgArs9COTDIyspCenq6xzr19fXIyckJa7xEiYJ5K3Rq85bN\nZoNer0dJSYkrdxFFG9t65Klp64H6MUTxgjmlfQLlC/cCJHD6MwUAg8EQ0biIwkIm0qj8/Hw5Pz8/\nKvsyGo2y1WqVZVmWnU6nbDAYZPfmV1hYKAOQ7Xa7bLVaZQByYWGhLMuyLEmSDEAGIFssFlmWZbmh\nocG1TENDgyzLcpv1lHUAuJZxOp2ufTU3N7v2ryynsNvtsiRJsslkkmVZluvq6jz2H+j9tOYei7+H\nWk6nUwYgm83mNq8psTQ0NMgmk0m22+1+t6V8Xv7ijjYAcmVlZdT3S/GhsrIyKn+XzFvRyVtms9lj\ne5Ik+cxbonKSsm/mJfEi8T2wrYevrftbVm1bD7Yf0x5s1+QuXP0L5pT255Rg+gZWq9UVk/v7bI9o\nHieT9rAISZoVzeSq/NAq7Ha7x4+PwWDwKIa1/nHy9mOl5jlvy1gsFhmAbDQafS5nMpm8bttgMKh6\nP5FWV1cnS5IkO51Or68rHQ6DweBzGVk+/VkoHQ5vWISkWBStIiTzVnj5y1tOp1O2WCyug4jy8nKv\n22ARkiLxPbCth0+gNqq2ravtx7QX2zW5C1f/gjklPNTkC6UYqzzc32d7sAhJkcQiJGlWNJOr0pk0\nmUx+O5NWq1U2Go0R/TFWs5z7WUhvZ+3Uvp9IkSTJdZazNaPR6IrLYDD4LVYaDAa/VxiwCEmxKFpF\nSOat8PKXt9yVl5fLkiR5fY1FSIrE98C2Hj7BtFFfbT2Yfkx7sV2Tu3D1L5hTws9f30CWZVUnN4LB\nIiRFEouQpFnRTK7Nzc0eP3DezlIpPy7Nzc3Cf4wDdaLVvB9v+wv0UMNkMvn8cVXOZCodBOWz9La8\n3W53neEMFHe08aCA/IlWEZJ5Kzp5qzXltm1/MYnAvBQbIvE9sK2Hr60Hs6y3th5MPyYc2K7JXbj6\nF8wp4cspCn99A/c4w9VPYBGSIolFSNIsEcnVYrG4zqa5/4ApnU5lvJFo/BiruQ0i0Lgivt5PpChn\n+Xxp/T6UH2xvn4HJZHKN9aJ2e9HCgwLyJ1pFSAXzVvsEylve+BqrlkVIiuT3wLbefsG20dZtPZh+\nTDiwXZO7cPcvmFPCy9849goWISkesAhJmhXtMSHdL99Xxidxfz3YM3Sh/hgrZ8ncJ0dovVx5ebkM\neI5FZLfbXT+4gd5PJLjv332/7j/IyllKdwC83r4QzR/yYPGggPyJ5piQzFvtoyZvteZ0OuW6ujqv\nr7EISZH4HtjWwyeYNuqtrQfTjwkHtmtyF84xIZlTwstf38B9GQB+x7tXi0VIiqQOIKKoMBqNsNls\nAIBf//rXMBqNrtckSQIA2Gw2HDhwwPW8w+GAw+Fw/bulpcX1vPsyvp5TVFVVudZftWoVJEly7dPb\neqNHjwYALFiwAKmpqdDpdOjatStyc3NVvZ9wczgcmDx5MoqLi6HT6VyP3r17Y+TIka7lZsyY4fF+\nGxsbPZ5XNDU1YdCgQX73qXzWrf+fSEuYt0KnJm9VVVWhvr7etY7NZsOOHTuQlZXVZnvMSRRJbOvt\n56+Nqm3ravsxRLGOOSV0avKFXq9HWVmZK6aWlhYYjUYYDAbk5eVFLDaisBBdBSUSRcTs2Mrgy96u\njMH/n4FTxiosLCxsM+OZ0mSDfc5isbjOrpeXl3uczfO2niyfHixaGeBYiUXt+wk35dYHb4/Wt07U\n1dW5li8sLPR61lDthDS+PptIA69MID+iPTs281Zo1OQts9nses5gMPgcIkJ0TlJiYF4SLxLfA9t6\n+wVqo2rbuiyr68eEM262a1KEe3Zs5pTQqMkX7ssoMamZ/E4tXglJkaSTZVkGkQaNHz8eAFBZWSk4\nksjR6XQAADbz+KLT6VBZWYn8/HzRoVAMWrNmDcaPH5+w7Zp5KzYxL8WGRPoe2NbFS6S/J2q/eO9f\nMKeEjxaOk0kc3o5NREREREREREREEcUiJFGC8jdWChFRLGLeItIGtnUiCifmFKL4wSIkUYLq2rWr\n1/8nIopVzFtE2sC2TkThxJxCFD86ig6AiCKD46EQUbxh3iLSBrZ1Igon5hSi+MErIYmIiIiIiIiI\niCiiWIQkIiIiIiIiIiKiiGIRkiiKHA4HqqqqoNfrRYcSkE6n83iQevzsKNEwd8U/fi4UCrb92KbF\n90yJhTkmMuIpVtIeFiGJomju3LkYN24camtrRYeimizLHuOs2Gw2FBUVQafToaioCPX19X7Xb2pq\nQkVFBfR6vd8fwYqKijavB7svf9RsS80yDofDFatOp0NVVVWbZVp/ZkTxLhFyV0tLCxobG135yJtQ\nco633KVWOGJqaWlpc7DhLT8xL1EoEqHtOxwOlJSU+PzdVtuG1ApXrlGzHbZrineJkGNaa90vCHeO\ncefrOIu5gWIZi5BEUbRs2TLRIbRLS0sLmpqasGzZMjidTgwaNAiDBw/22XEoKytDSUkJunXrhuee\ne87nj2FTUxOmTJnSrn21N261y0yePBnA6R93u92ONWvWoKSkJOiYiOJJvOcuADAajdi8eTOmTJni\nNY+EknO85a5ox/TRRx/53H5WVlbIsREB8d/2HQ4HDh06hNLSUsiyDJPJhHHjxqGsrMy1TLjbULhy\nTaDtECWCeM8xrXnrF0Tqd1rtcRZRzJGJNCo/P1/Oz8+P+n4ByPHQ9LzFaTabVS0ny7JcWFgoGwwG\n2el0+t2P0+mUDQZDm+0Es69A1GxLzTImk0kG4PGeLBaLDECuq6sLW7wA5MrKyqDXI22orKwUkkPi\nOXepeT3YnOMrd4WiPTGZTCbZarV6LGO322WDwRDUvtTEyLwknojvIZ7bfkNDQ8Dlgm1D7YlHloPP\nNWo+f7ZrCgf2L/wLFKevfkEkcoza46xQP1tRx8mkDbwSkkiFxsZGn2NrlJWVuZ6z2WxoaWnxuF23\npKQEDofD63a9bc/X+B0Oh8O1L71e365bk0MlSZLX5wsLCz3+rVwZWFpaipSUFL/bXLFiBaZPnx7y\nvtRQsy01y6xZswYAPN7TJZdcAgCorq4OOi6iSGPuUi/YnOMrd4WTmpiysrKQnp7u8Xp9fT1ycnIi\nGhvFNrb90/r16+fx75aWFgCAwWBwPRftNhTO/g2RKMwxbfnqF4Q7xwRznEUUk0RXQYlECfYMT11d\nnQzA61krg8EgWywWWZZPn5kCINvtdtlqtcoA5MLCQteycDsjZbfb25yhUtZxf85ut8uSJMkmk8kj\nFmWfrSnrB3r4o2YZp9MpA/A4q69cGWg2m+Xy8nIZgCxJktcrBevq6lxXKQTan7d9hUrNtrwt4yvG\nYJ8PBLwygfwI9koF5q7gXlf4yxPB5C41whGTO/fvLdR9eVuPeUm8YL4Htn1PVqvVdZVSc3Oz3235\na0Nqhatdh6vP5ms9tmtSsH8RejsLtl8Qao4J5jhLbSze8EpIiiReCUmkUlZWFgwGAxYsWOA6kw78\nclY9MzMTAHD++eejsLAQaWlprrNey5cv97rNtLS0Ns+1PlMGnD5bVltbi7y8PFcsAFBTU+N1u/L/\nD0Yc6NFeu3fvhiRJGDhwoOu5bdu2ud5HQUEBnE4nLrroIgwePBiNjY2u5RwOBz799NM2VykEs69w\nxq1mGeUqhQMHDrQ7BqJoYe4Kja88EWzuikZM7pqamjBo0KAoRkWxim3/FzabDRkZGViwYAEABBzr\nNZptKJz9G6JoYo45Ldh+QXtyjNrjLKKYFrn6JlFsC+UMj3L2STnrJsunz3x5O+tmtVplo9HY5gxU\noH97e06SpJDO2LWHmu1LktRmvCVv6ymfm/tZv/Ly8qD2521foVKzLW/LNDQ0uN6HMgaL8t6MRmOb\nbYT6HYFXJpAfoYzZxNyl/nWFrzwRbO5So70xuTMYDLLdbm/3vrytx7wkXrDfA9u+J4vF4roasnVb\nVgRqQ+GMR5YDt2s122G7pnBg/8I/X9sPtl/Qnhyj9jhLbSy+8EpIiiReCUkUhMzMTEiS5BobEABe\nf/1115k+RUVFBe677z6f4/4ESzljL6s8Y9d6jBZfj/aoqqqCJEmqzvopn49y1rO2thbDhg2LyL7C\nsS1fy/Tr1w91dXU4cuQIUlNTUVFRgW+++QYAMGTIkHbHRhQpzF3B8ZUDgs1d0YjJnTLGlrcrSUib\n2PY9ZWZmYsKECQDgdWb7aLehcPZviETQeo4Jtl8QiRzT+jiLKNaxCEkUpPz8fNTW1qKxsRE2mw19\n+vTxeL2qqgpTpkzBc889hx49eoR132pvA/b2g6z2R1qNpqYm7Nu3DwUFBW1eU25Zdr8tQ6F0PPR6\nPTIyMnwOPq12X+GMW+0yWVlZMJvNkGUZBQUF2LNnDwwGQ5vOFlGsYe5Sx18OCCZ3RSsmd5yQhrxh\n2/fk7z1Gsw2Fs39DJJKWc0yw/YL25hg1x1lEsY5FSKIgKWOOrFy5Ert27Wozhs+4ceMAeB+/JFTl\n5eUAgFWrVrl+dJQZ4aLN4XBg27ZtKC0tdT3X1NSEoqIiAEBubi4A4PDhw67XlZjz8/MB+D9r6f7/\ngfYVzrhD2V9VVRW2b9+O4uLioOMhijat5y41AuUAtbkrmjG52759O0+IUBts+56UeEwmU5vXotWG\nwtm/IRJNyzkm2H5Be3OMmuMsopgXwi3cRAmhPWNdKOMJeRsHUBmjxGq1ys3Nza6xOOx2u8eMb8pY\nIMqMccpMjcq4g3Ab28N9PfeH1WoN8d0HBi9jiCgz0XmLxX1WR4PBIEuS5HqP5eXlsiRJQe1P7b6U\nsWV8zYandltq9+d0OmWLxSIXFhZ6/f4DfYZqgGM0kR+hjNmk0GruUiiz0AJwjeuqUJsD1OxPTV4K\nd0wWi8VjTK5g4lWDeSk2hPo9aLXtS5IkG41G136dTqdsMBi8zuYbqA2JaNf+thPovavBdk3u2L/w\nT20787VcuHJMMMdZoeYGjglJkcQiJGlWe5KrMgCw8uPo7TVl0GGDwSAXFhbKVqu1zQ+lLJ8epFn5\ncVY6n5IkySaTyWPQYqvV6vqBV7YXSd5+tJROgbdH68+ivLzc9Vp5ebnfzrO3/andl/L5+ityqtmW\nmmXc34+agxAeFFAktOcgQau5y/15b+9FloPLb4H2pyYvhTsmtQPdMy/Ft1C/B622fbPZ7BG/0Wj0\nOQlMoDYU7XYdaDuB3rsabNfkjv0L/9S2M1/LhSvHyLL646xQcwOLkBRJOlmO8OBKRDFq/PjxAIDK\nykrBkcQmZRyTeEkRer0eZrNZdBgeQv0MdTodKisreVsFebVmzRqMHz8+btpmtMVS7mJeonDj9+Bb\ntNo+2zUlKvYv/IvHHBNqzDxOpkjimJBEFPcaGxsxe/Zs0WEQEbkwLxElHrZrIook5hjSgo6iAyAi\nao/6+np079497LPtERGFinmJKPGwXRNRJDHHkFawCElEfsXSrY3eKDPyxRLlMyMicUTmLuYlInEi\n1fbZrokIiI8cw9xAsYxFSCLyKlaLjvGAnx2ROGx/3vFzoUSnxb9xLb5nIlHiqb3FU6ykPRwTkoiI\niIiIiIiIiCKKRUgiIiIiIiIiIiKKKBYhiYiIiIiIiIiIKKJYhCQiIiIiIiIiIqKI4sQ0pGnV1dW4\n/fbb27WN48ePIzk5OUwRERGpU11dLToEyLLMGRiJoqy6upr9jgTBHEqxKBb6FxReJ0+eRFJSkurl\nq6urkZubG8GISMtYhCTNuvTSS3H8+HGMHTtWdChEbVxxxRWiQ6AYpfxtMHdRtDEvidepUyds3LgR\nGzduFB0KJQi2a1Kwf0HuLr30UtEhUILi7dikWQsWLIAsyyE97HY7srOzodPpMH36dPzwww8hbysR\nHpWVlQAgPI5EevTp00dwC6FY1adPH+F/n6tWrUJSUhJmzZolPJZoPE6dOoX09HQ8+uijwmMR+WBe\nEu/YsWPC/w6i9ejRowdmzpwpPI5IPRoaGnDGGWdgwoQJOHXqlLA42K5JEQv9i1h4AEBlZaXwOML5\nWLFiBTp16oScnBz8+9//VrXOggULBP9FUqJiEZIoSNXV1ejVqxf27NmDuro6LF68GGeccYbosIiI\nomLVqlW4++678dBDD+Gpp54SHU5U6HQ6jBkzBjU1NaJDIdKEDz74AAcOHEBOTo7oUCKmX79+2LBh\nA15++WXMmDFDdDhElMDuvfdevPbaa3jjjTcwaNAgfPHFF6JDIg1jEZJIpW+++Qbjxo3DnXfeiTvu\nuANNTU245ZZbRIdFRBQ1K1euxD333IM///nPmilAKnJzc9Hc3Iy9e/eKDoUo4a1fvx7du3dHv379\nRIcSUbfeeitWr16Nv/3tb5g3b57ocIgogQ0cOBCNjY346aef0LdvX7z33nuiQyKNYhGSSAWz2Yxr\nrrkGO3fuxP/+7//i+eefx9lnny06LCKiqFm5ciXuvfde/OUvf8ETTzwhOpyo69u3Ly666CJeDUkU\nBdXV1a5hbxJdbm4uli1bhnnz5mHJkiWiwyGiBHb55Zdj586duO666zBw4ECsXbtWdEikQSxCEvnx\n7bff4u6778bo0aMxfPhwfPjhhxg2bJjosIiIouqll15yFSAff/xx0eEI0aFDB96STRQFH330Efbv\n35/Qt2K3VlBQgCeffBIPPPAAVq9eLTocIkpgKSkpeOWVVzBlyhTk5eVh3rx5rrEwiaKBs2MT+bBl\nyxZMnjwZp06dwiuvvILbbrtNdEhERFH34osvoqCgALNnz0ZpaanocITKzs7G4sWL8fHHH+PKK68U\nHQ5RQqqpqcEFF1yA/v37iw4lqmbNmuU6+X3OOedAr9eLDomIElRSUhIWLVqEq666CtOnT8fHH3+M\nF198Eb/61a9Eh0YawCshiVr57rvvUFBQgJEjR2LgwIHYu3cvC5BEpElKAdJgMGi+AAkAAwYMQLdu\n3Xg1JFEE1dTU4I477kCHDto7TFm4cCGmTJmCO++8E/X19aLDIaIE96c//QlbtmzBP/7xD/zhD3/A\nl19+KTok0gDt/boT+VFfX4/rrrsOZrMZNTU1WLNmDc4991zRYRERRd2KFSswefJkGAwGTpjw/zp0\n6IDs7GysW7dOdChECemTTz7BBx98oKlbsd3pdDosWbIEd9xxB7Kzs/H222+LDomIElxWVhYaGxvx\n3XffoW/fvtizZ4/okCjBsQhJBOCHH37AtGnTMGTIENx000348MMPkZ2dLTosIiIhKioqMGXKFDz2\n2GMsQLaSnZ0Ni8WCTz75RHQoRAmnpqYGv/nNbzBw4EDRoQiTlJSEv//97+jfvz8kScK+fftEh0RE\nCe6//uu/sGvXLlx11VUYMGAA1q9fLzokSmAsQpLmvfXWW8jMzERVVRXWrFmD6upqpKWliQ6LiEiI\n8vJy/OlPf8K8efMwZ84c0eHEnD/84Q/4zW9+w6shiSJg3bp1uOOOO5CUlCQ6FKE6deqE6upq9OjR\nA8OHD8fhw4dFh0RECe7Xv/41Xn31VUyaNAk5OTlYuHAhJ6yhiGARkjTrxx9/xIMPPohBgwbhmmuu\nwd69e5GXlyc6LCIiYZYvX47CwkLMnz8fJSUlosOJSUlJSbj99ttZhCQKs88++wy7d+9Gbm6u6FBi\nwhlnnIHNmzfj3HPPxdChQ/H111+LDomIElzHjh3xt9j+JrMAACAASURBVL/9DUuWLMHcuXMxceJE\n/PTTT6LDogTDIiRpUmNjI37729/ipZdewosvvohNmzbhggsuEB0WEZEwy5Ytw9SpU7FgwQIYDAbR\n4cS0nJwcvPfee/jss89Eh0KUMGpqanDeeedh0KBBokOJGSkpKdi2bRsAYPDgwWhpaREcERFpwbRp\n07B582Zs3rwZWVlZsNvtokOiBMIiJGnKsWPH8PDDD+P3v/89LrnkEuzduxeTJk0SHRYRkVBLly7F\ntGnTsGDBAsyePVt0ODHvlltuwXnnnccxk4jCqKamBqNHj0ZycrLoUGLKb37zG9TV1eHbb7/FyJEj\n8Z///Ed0SESkAbfeeit27dqFo0ePok+fPvjggw9Eh0QJgkVI0ozdu3fjxhtvxNKlS7F06VK8+uqr\n6N69u+iwiIiEeu6553Dfffdh4cKFLECqlJycDL1ej+rqatGhECUEm82Gd999V7OzYgeSnp6Of/zj\nH/jkk08wZswY/Pzzz6JDIiINuPLKK9HY2IjLL78c/fv3h9lsFh0SJQAWISnhHT9+HHPnzkW/fv2Q\nlpaGDz/8EFOmTIFOpxMdGhGRUM899xzuv/9+PPnkk3j44YdFhxNXcnJy8M477+Dzzz8XHQpR3Fu3\nbh1SUlIwePBg0aHErKuuugqbN29GQ0MDJk6ciJMnT4oOiYg04Nxzz8XWrVuRn5+PO+64A3/9619F\nh0RxjkVISmhNTU3o06cPysrK8Mwzz2Dbtm3IyMgQHRYRkXCLFy92FSBnzZolOpy4M2TIEJxzzjmc\noIYoDNatW4fRo0ejU6dOokOJaTfddBPWr1+P2tpaTJs2jTPXElFUJCcn4/nnn0dZWRlmz56Ne+65\nB8eOHRMdFsUpFiEpIZ04cQILFy5Enz59cNZZZ6GpqQnTp0/n1Y9ERAAWLVqEGTNm4K9//SsLkCHq\n1KkT9Ho9ampqRIdCFNeOHDmChoYGZGdniw4lLmRlZcFkMuGFF17gEBpEFFUzZsxAbW0tNmzYgCFD\nhuDrr78WHRLFIRYhKeHs378fN998MxYsWIAnnngC27dvx+WXXy46LCKimLBo0SLMnDkTRqMRxcXF\nosOJazk5OWhoaMA///lP0aEQxa3169fjrLPOwrBhw0SHEjf0ej3+/ve/46mnnsKTTz4pOhwi0pAR\nI0Zg586d+Oc//4m+ffti3759okOiOMMiJCWMkydPwmg04oYbbkCHDh3w/vvvY+bMmejQgX/mREQA\n8Mwzz+DBBx+E0WjEzJkzRYcT94YNG4YzzzyTt2QTtcO6deswatQodO7cWXQocWX8+PFYsmQJZs+e\njeeff150OESkIddccw0aGxvRvXt3/O53v8Orr74qOiSKI6zOUEL45JNPMGDAABgMBsydOxdvvfUW\nrrzyStFhERHFjLKyMhQXF+PZZ59lATJMOnfujFGjRvGWbKIQffXVV3jzzTcxZswY0aHEpWnTpmHe\nvHmYNm0aXn75ZdHhEJGGnH/++di2bRtyc3Oh1+vxzDPPiA6J4kRH0QEQtcepU6fw3HPP4ZFHHkHP\nnj3x3nvvoVevXqLDIiKKKUajEbNmzcKzzz6LBx54QHQ4CSUnJwdjx46F3W5H165dRYdDFFc2btyI\nM844AyNGjBAdStwqKSnBv/71L0ycOBEpKSkYPny46JCISCM6deqEF154AVdeeSVmzZqFjz76CEuX\nLkVycrLo0CiG8UpIilufffYZsrKyUFxcjL/85S945513WIAkImpFmXxm0aJFLEBGwPDhw9GlSxds\n2LBBdChEcaempgYjR47Er371K9GhxLVnnnkG48aNw5gxY7Br1y7R4RCRxvz5z3/Ghg0b8PLLL2Po\n0KH45ptvRIdEMYxFSIo7sixj+fLlyMzMxL/+9S+8/fbbmDNnDjp25IW9RETunnrqKTz88MNYvHgx\n7r//ftHhJKQzzjgDI0eO5LiQREH6+uuv8cYbbyAnJ0d0KHFPp9PhhRdewNChQzFy5Eh8+OGHokMi\nIo2RJAk7d+6E1WpF37598fHHH4sOiWIUi5AUVz7//HMMGzYM06dPx/Tp0/Hee+/h+uuvFx0WEVHM\nefLJJ/HII49g8eLFuO+++0SHk9DGjBmDN954A0ePHhUdClHc2LRpEzp16oSRI0eKDiUhJCUlYe3a\ntbjhhhswePBgHDx4UHRIRKQx1157Ld5++2107doV/fr1wz/+8Q/RIVEMYhGS4sYLL7yAa6+9Fl98\n8QXeeustPP744+jUqZPosIiIYs7ChQsxe/ZsPPfccyxARsFtt92G5ORkbNy4UXQoRHGjuroaI0aM\nwJlnnik6lITRqVMnbNq0CZdddhmGDBmCL774QnRIRKQxaWlpqK+vh16vx8iRI7FkyRLRIVGMYRGS\nYt4///lPjBo1ClOmTEFBQQHef/999O3bV3RYREQxaeHChTAYDFi6dCmmTp0qOhxNOOusszBixAje\nkk2k0rfffovXX3+dt2JHwFlnnYVXXnkF55xzDoYNG4avv/5adEhEpDGdO3fG//zP/6C0tBQzZsxA\nUVERTpw4ITosihEsQlJMW716Na655hocOHAAO3bswNNPP40uXbqIDouIKCYtWLDAVYAsLCwUHY6m\nZGdno66uDt9++63oUIhi3saNG9GhQweMGjVKdCgJ6fzzz8err76KY8eOYdSoUWhpaREdEhFp0COP\nPIKamhqsXr0aw4cPZx+JALAISTHKbrdjzJgxmDhxIu666y5YLBb0799fdFhERDFr/vz5mDNnDpYv\nX84CpACSJKFDhw7YtGmT6FCIYl5NTQ2GDRuGs88+W3QoCat79+7YsmULPv/8c2RnZ+PHH38UHRIR\nadAdd9yBN998E83Nzejbty8++eQT0SGRYCxCUsyprq5Gr169sGfPHtTX12Px4sU444wzRIdFRBSz\n5s+fj8ceewzl5eWYMmWK6HA06ZxzzsGtt97KW7KJAmhpaUFdXR1vxY6CK664Alu3bsXu3buRl5eH\nkydPig6JiDSod+/eePfdd3Huueeib9++qKurEx0SCcQiJMWMo0ePYty4cbjzzjuRnZ2NpqYm/OEP\nfxAdFhFRTJs7d66rADl58mTR4WjamDFj8Nprr/HWRyI/zGYzZFmGJEmiQ9GEa6+9Flu3bsW2bdsw\nadIkyLIsOiQi0qBu3brhjTfewPDhwzF8+HAsX75cdEgkCIuQFBPMZjN69eqFnTt3YuvWrXj++ed5\niw4RUQBz5szBggULsGLFChYgY8Do0aMhyzJqa2tFh0IUs9atW4chQ4YgNTVVdCia0bdvX2zcuBHV\n1dV44IEHRIdDRBrVpUsXVFZWYs6cOZg6dSqmT5/OK7Q1iEVIEurbb7/FxIkTMXr0aIwYMQIffvgh\nhg4dKjosIqKYV1JSgscffxwrVqzAH//4R9HhEIDU1FRkZWXxlmwiH77//nts3bqVt2ILMHToUFRW\nVmLp0qV47LHHRIdDRBql0+lQUlKCtWvX4sUXX8TIkSN5B4nGsAhJwmzZsgXXXnsttm3bhldeeQUv\nvfQSUlJSRIdFRBTzHn30UTzxxBNYsWIF7rnnHtHhkJvc3Fxs2bIF//73vwEAu3fvxowZM3DrrbcK\njowoug4ePIi+ffvib3/7G7766isAwCuvvIKTJ09Cr9cLjk6bcnJysHz5csyfPx+LFy8WHQ4RaVhO\nTg527NiBvXv3ol+/fvj0009Fh0RRopM5MAhF2XfffYeZM2fixRdfRH5+PhYvXoxzzz1XdFgUhE6d\nOuH48eMBl3v66adRXFwchYiIEsuRI0cAABdddFGb1x599FE89dRTeOGFFzBp0qRoh0YBHD16FN26\ndcOoUaOwe/dufPHFF67X2OUiLVmzZg3Gjx//f+3df3Ac1WEH8O9ZkkliwEwCNnioITMtmcZxDExD\nDZnURdQBTO+YBuLYUpyENjinDkxo44wbcioUMZO2nAYybUMiwVBXI53ATh1O42bS5NSaEEuhYEsQ\nmtiZJkjEGe4SzF1J4sGW/PqH+tZ7d7t7b+/27Y/b72fmBry3t/t276u3773bH+js7MTi4iJ+//d/\nH6dOncK5556LgwcPBl28WHvooYewe/du7NmzBzt27Kh675VXXsH4+Dh2796NRCIRUAmJ/HHffffh\ngQceaDjfO9/5Trz++us+lCh+fv7znyOVSuGVV17B17/+dWzatCnoIpFmnUEXgOKlUCjgz/7sz3Dy\n5Ens27cPH/nIR4IuEjVhzZo1mJubazjf2972Nh9KQ9Rezpw5g0svvRTA0ll0V199tfHeF77wBTz0\n0EMcgAyZM2fOYHp6Gvv27UMul8Pi4iK++c1v4tSpU0EXjSgw55xzDgBgYWEBAPD9738fHR0dWFxc\nxAc+8AFs374dt912Gy677LIgixlLn//853HixAnccccdWLlypXFm6g9/+ENcddVVeOutt3DVVVfh\nxhtvDLikRHpddNFFSvPxWQX6rFmzBt/97nfxyU9+Eps3b8ZXvvIVy/ucP/roo1hcXMRdd90VQCnJ\nS7wcmzyxuLiITZs22VYKv/71r/Hnf/7n2Lx5M6655hq89NJLHICMsHvvvRcdHR2O83R0dGDr1q0+\nlYiofezfvx8AsGzZMlx//fU4cuQIAGD37t146KGH8MQTT3AAMkTefPNNdHR04IMf/GDVZae1A5Cd\nnfzdl+Kl9odIIQQWFhYghMALL7yA3bt34/LLL0dPT09AJYy3L33pS9i5cye2bt2KyclJPP/887j2\n2muxuLiIjo4OZLPZoItIpN3WrVuV+jT33nuvTyWKp7e//e148skn8Vd/9VfYuXMn/vIv/7LqgTX/\n+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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%pylab inline\n",
    "from IPython.display import Image\n",
    "Image('tree.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'number_vmail_messages'"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.columns[2]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 检视分类结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, ..., 0, 0, 0], dtype=int64)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.predict(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.90579057905790583"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy\n",
    "numpy.sum(y== clf.predict(X)) / len(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用逻辑式回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "clf2 = LogisticRegression()\n",
    "clf2.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.86198619861986203"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf2.predict(X)\n",
    "numpy.sum(y== clf2.predict(X)) / len(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n",
       "  decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',\n",
       "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
       "  tol=0.001, verbose=False)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "model = SVC()\n",
    "model.fit(X, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.predict(X)\n",
    "numpy.sum(y== model.predict(X)) / len(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
